package com.alfred.springboot.elasticjob.lite.core.listener;

import com.alfred.springboot.elasticjob.lite.utils.JsonUtils;
import com.dangdang.ddframe.job.executor.ShardingContexts;
import com.dangdang.ddframe.job.lite.api.listener.ElasticJobListener;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class DefaultSimpleJobLitener implements ElasticJobListener {

    /**
     * <pre>
     *     作业执行前的执行的方法.
     *
     * @param shardingContexts 分片上下文
     * </pre>
     */
    @Override
    public void beforeJobExecuted(ShardingContexts shardingContexts) {
        log.info(
                "\n-    开始执行定时任务:{}" +
                        "\n-    任务详情:\n-m  {}",
                shardingContexts.getJobName(), JsonUtils.object2String(shardingContexts));
    }

    /**
     * <pre>
     *     作业执行后的执行的方法.
     *
     * @param shardingContexts 分片上下文
     * </pre>
     */
    @Override
    public void afterJobExecuted(ShardingContexts shardingContexts) {
        log.info(
                "\n-    结束执行定时任务:{}" +
                        "\n-    任务详情:" +
                        "\n-  {}",
                shardingContexts.getJobName(), shardingContexts);
    }
}
